Switching transients can occur in digitally controlled analog gain applications. The transients can occur when a near-instantaneous gain change is made to an analog signal, causing a discontinuity in the signal. The discontinuity can take many forms, including the step-function discontinuity of the signal itself as the gain is suddenly changed from one level to another, as well as the small glitch added to the signal due to charge injection in FET-based switches. Both these forms can be exacerbated by overshoot and/or ringing in the analog circuitry. These switching transients are unacceptable in high quality audio circuits.
Prior art, such as the Texas Instruments PGA2500 Programmable Gain Amplifier can execute near instantaneous changes to gain. Control software in a host microcontroller typically interpolates small gain steps (e.g., 1 dB) between large gain setting changes (e.g., 40 dB) by sending a sequence of gain change commands. This sequence of commands is executed in an iterative software loop or timer-based interrupt service routine, requiring significant software overhead. In systems with many audio channels, e.g., mixing consoles with 32 or more input channels, the host microcontroller must send thousands of updates per second to ramp all channels, which consumes significant software resources and results in a tremendous load on the control bus.
Similar to the Texas Instruments PGA2500, a variety of “digitally-controlled volume control” ICs are available from multiple vendors with switched resistor ladder attenuators. The first of these was the Cirrus CS3310, introduced in 1991. Like the PGA2500, the CS3310 allows gain (attenuation) changes to be restricted to zero-crossings, but it lacks the internal intelligence to ramp large gain changes without significant burden to microcontroller hardware/software.
U.S. Pat. No. 5,596,651 (the “'651 patent”) teaches a method of ramping gain changes with a multiplying DAC, which is inherently an attenuator. The '651 patent specifies that the clock, which paces ramping, must have a predetermined frequency. The '651 patent does not allow gain changes to be constrained to zero-crossings. Therefore, even though gain changes are ramped in small steps, these changes can occur during audio signal peaks resulting in audible transients, which are unacceptable in high quality audio circuits.
U.S. Pat. No. 6,405,093 (the “'093 patent”) describes a method for making gain changes on zero crossings. The '093 patent does not teach a method of interpolating gain steps. The '093 patent describes a method in the steps of enabling a zero crossing detector by a comparator when the initial gain value and new gain value do not match, and disabling the zero crossing detector when they do match. Like previous techniques, such operation can result in audible transients.